package com.joolun.system.service.impl;

import java.util.List;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.joolun.system.mapper.AreaMapper;
import com.joolun.system.domain.Area;
import com.joolun.system.service.IAreaService;

/**
 * 行政区域Service业务层处理
 *
 * @author www.tryerlee.com
 * @date 2021-12-23
 */
@Service
public class AreaServiceImpl extends ServiceImpl<AreaMapper, Area> implements IAreaService {
    @Autowired
    private AreaMapper areaMapper;

    @Override
    public List<Area> selectAreaListByParentCode(String parentCode) {
        return areaMapper.selectList(Wrappers.<Area>lambdaQuery().eq(Area::getParentCode, parentCode));
    }

    /**
     * 查询行政区域
     *
     * @param code 行政区域ID
     * @return 行政区域
     */
    @Override
    public Area selectAreaById(String code) {
        return areaMapper.selectAreaById(code);
    }

    /**
     * 查询行政区域列表
     *
     * @param area 行政区域
     * @return 行政区域
     */
    @Override
    public List<Area> selectAreaList(Area area) {
        return areaMapper.selectAreaList(area);
    }

    /**
     * 新增行政区域
     *
     * @param area 行政区域
     * @return 结果
     */
    @Override
    public int insertArea(Area area) {
        return areaMapper.insertArea(area);
    }

    /**
     * 修改行政区域
     *
     * @param area 行政区域
     * @return 结果
     */
    @Override
    public int updateArea(Area area) {
        return areaMapper.updateArea(area);
    }

    /**
     * 批量删除行政区域
     *
     * @param codes 需要删除的行政区域ID
     * @return 结果
     */
    @Override
    public int deleteAreaByIds(String[] codes) {
        return areaMapper.deleteAreaByIds(codes);
    }

    /**
     * 删除行政区域信息
     *
     * @param code 行政区域ID
     * @return 结果
     */
    @Override
    public int deleteAreaById(String code) {
        return areaMapper.deleteAreaById(code);
    }
}
